package com.zf.gson.entity;

import com.google.gson.annotations.Expose;
import lombok.Data;

/**
 * @author Zhou Feng
 */
@Data
public class ExposeObj {
    @Expose
    private String uid;
    @Expose
    private String userName;
    @Expose(deserialize = false)
    private String telNumber;

    // 指定字段是否参与序列化和反序列化，默认都是true
    // 需要在创建Gson时 使用excludeFieldsWithoutExposeAnnotation() 才能使Expose注解生效，
    // 且执行该方法后只有对有Expose注解的属性参能被Gson序列化和反序列化，没有Expose注解的属性则不会被序列化和反序列化
    @Expose(serialize = false, deserialize = true)
    private Integer age=5;

    public ExposeObj(String uid, String userName, String telNumber) {
        this.uid = uid;
        this.userName = userName;
        this.telNumber = telNumber;
    }

    public ExposeObj() {
    }
}
